//抽象的设计例子，UI类只与各种图形的抽象类Shape相关联，与具体的图形类解耦。
//使用抽象，提高了程序可维护性，如果再增加新的图形元素，此段代码也不需要改动。
#ifndef _UI_H
#define _UI_H

#include<vector>
#include"Shape.h" 

class UI{
  public:
	vector<Shape*> shapeVector;   //使用向上抽象的Shape类代表所有形状，统一处理形式，减少了代码，提高代码通用型、稳定性。使用了父子类型兼容，多态。
	void show(){
		for(int i=0;i<shapeVector.size();i++)
		 	shapeVector[i]->show();    //多态 显示
	}
};

#endif
